<?php namespace Common\Model;
use Hdphp\Model\Model;
class Type extends Model{
	//设置本类所处理的表名
	protected $table = 'type';
	
	//设置自动验证用户提交过来的参数
	protected $validate = array(
		//array(字段名,验证方法,错误信息,验证条件,验证时间)
		array('tname','required','分类名称不能为空',3,3),
		array('tname','maxlen:120','分类标题不得超过120个字符',3,3)
	);
	
	//编辑分类
	public function myedit(){
		//创建数据 并验证   create之后$this->data才会有数据
		if($this->create()){
			//将验证通过的数据 添加到 数据库
			 $this->save();
			 $tid = Q('post.tid','0','intval');
			 $attrs = Db::table('type_attr')->where("type_tid={$tid}")->delete();
			 foreach (Q("post.") as $key => $value) {
		   		//添加类型属性
		   		if(is_array($value) && !empty($value)){
		   			$tmpArr = array(
						'taname'=>$value[0],
						'class'=>$value[1],
						'tavalue'=>$value[2],
						'type_tid'=>$tid						
					);
					Db::table('type_attr')->insert($tmpArr);
		   		}
		   	}
			 
			return true;
		}
		return false;
	}
	
	//添加分类数据 到数据库
	public function store(){
			
		//创建数据 并验证   create之后$this->data才会有数据
		if($this->create()){
			//将验证通过的数据 添加到 数据库
			return $this->add();			
			
		}
		return false;
	}
	
	//排除自己和子类
	public function getNomy($cid){
		//获取所有分类
		$cates = $this->get();
		
		$Arrmy = $this->getmy($cates,$cid);//获取自己的子类
		$Arrmy[]=$cid;//压入自己
		
		//排除自己和子类 
		$my = implode(',',$Arrmy); // 1,2
		$Arrmy = $this->where('cid NOT IN('.$my.')')->get();
		return $Arrmy;
		
	}
	
	//获取自己 及子类
	private function getmy($cates,$cid){
		$tempArr = [];
		foreach ($cates as $v) {
			//判断数据的 父类(pid) 是否等于 cid
			if($v['pid']==$cid){
				$tempArr[]=$v['cid'];
			}
		}
		
		return $tempArr;
	}
}

    
?>